Skip to content

Remove kit dev command and LLM harness - #1288

Merged
gorkem merged 2 commits into
kitops-ml:mainfrom
gorkem:remove-dev-command
Sep 29, 2026
Merged

gorkem merged 2 commits into
kitops-ml:mainfrom
gorkem:remove-dev-command

Conversation

@gorkem

@gorkem gorkem commented Sep 28, 2026

Copy link
Copy Markdown
Member

What

Removes the kit dev command (start, stop, logs) together with the llamafile-based LLM harness and the dev-mode web UI.

  • Deletes pkg/cmd/dev, pkg/lib/harness, frontend/dev-mode, testing/dev_test.go, and the build-devmode workflow
  • Drops the harness and dev-model constants from pkg/lib/constants
  • Removes the Node/pnpm setup from the macOS release job; it was only needed to build the dev-mode UI
  • Updates the deploy, next-steps, CONTRIBUTING, and AGENTS docs

Why

To run a model locally, dedicated runtimes (llama.cpp, Ollama, or llamafile directly against an unpacked ModelKit) are a better choice. Removing this also takes the harness download and a local server out of the CLI.

Breaking change: kit dev is no longer available. This is targeted for 1.16.

Follow-up

The goreleaser "offline"/"embedded" builds (--tags=embed_harness) now produce the same binary as the regular builds. They're left in place to keep release assets stable and can be removed in a separate change.

Validation

  • go mod tidy / go fmt ./...: no changes
  • addlicense --check: passes
  • go generate ./..., go build, go test ./...: pass
  • No remaining references to kit dev, pkg/lib/harness, or frontend/dev-mode (excluding cli-reference.md, which the release regenerates)

@gorkem
gorkem force-pushed the remove-dev-command branch 2 times, most recently from 0588695 to d536436 Compare September 28, 2026 23:02
Remove the `kit dev` command (start, stop, logs) along with the
llamafile-based LLM harness and the dev-mode web UI. Running models
locally is better served by dedicated tools such as llama.cpp, Ollama,
or llamafile used directly against an unpacked ModelKit.

- Delete pkg/cmd/dev, pkg/lib/harness, and frontend/dev-mode
- Delete the dev integration tests and build-devmode workflow
- Drop harness and dev-model constants from pkg/lib/constants
- Remove Node/pnpm setup used only for dev-mode UI generation from the
  release workflow
- Update deploy, next-steps, CONTRIBUTING, and AGENTS docs

BREAKING CHANGE: `kit dev` is no longer available.

Signed-off-by: Gorkem Ercan <gorkem@jozu.com>
@gorkem
gorkem requested a review from amisevsk September 28, 2026 23:03
Signed-off-by: Gorkem Ercan <gorkem@jozu.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The feature removal is coherent; only minor cleanup of orphaned fixtures and duplicated documentation remains—APPROVE.

Review effort: Balanced
Findings: 1 Low severity

Open (1)
What changed in this PR

Removes the deprecated kit dev command and its llamafile-based runtime, frontend, tests, build tooling, and documentation.

Changes:

  • Removes the dev CLI, harness, constants, and tests.
  • Deletes the Vue dev-mode UI and related workflow/tooling.
  • Updates release configuration and user/contributor documentation.

Two non-blocking cleanup suggestions were identified: orphaned dev test fixtures and duplicated feedback text.

File Description
testing/​dev_test.go Removes dev integration tests.
pkg/​lib/​harness/​llm-harness.go Removes harness lifecycle implementation.
pkg/​lib/​harness/​llm_payload.go Removes embedded payload support.
pkg/​lib/​harness/​llm_payload_all.go Removes payload extraction utilities.
pkg/​lib/​harness/​llm_download.go Removes harness download support.
pkg/​lib/​harness/​generated/​refresh_downloads.sh Removes artifact upload script.
pkg/​lib/​harness/​generated/​llamafile.go Removes generation entry point.
pkg/​lib/​harness/​generated/​llamafile_ver_helper.go Removes version helper.
pkg/​lib/​harness/​generated/​gen_common.sh Removes harness generation script.
pkg/​lib/​constants/​consts.go Removes harness and dev-cache constants.
pkg/​cmd/​dev/​usage.go Removes dev command help text.
pkg/​cmd/​dev/​opts.go Removes dev options handling.
pkg/​cmd/​dev/​opts_test.go Removes options tests.
pkg/​cmd/​dev/​dev.go Removes dev command implementation.
pkg/​cmd/​dev/​dev_test.go Removes command unit tests.
pkg/​cmd/​dev/​cmd.go Removes Cobra command definitions.
frontend/​dev-mode/​vite.config.ts Removes Vite configuration.
frontend/​dev-mode/​tsconfig.node.json Removes Node TypeScript configuration.
frontend/​dev-mode/​tsconfig.json Removes TypeScript project configuration.
frontend/​dev-mode/​tsconfig.app.json Removes application TypeScript configuration.
frontend/​dev-mode/​tailwind.config.ts Removes Tailwind configuration.
frontend/​dev-mode/​src/​views/​NotFound.vue Removes fallback view.
frontend/​dev-mode/​src/​services/​json-schema-to-grammar.js Removes grammar conversion service.
frontend/​dev-mode/​src/​services/​completion.ts Removes inference API client.
frontend/​dev-mode/​src/​router/​index.ts Removes frontend router.
frontend/​dev-mode/​src/​main.ts Removes frontend entry point.
frontend/​dev-mode/​src/​composables/​useLlama.ts Removes LLM state integration.
frontend/​dev-mode/​src/​components/​ui/​Tooltip.vue Removes tooltip component.
frontend/​dev-mode/​src/​components/​ui/​Toggle.vue Removes toggle component.
frontend/​dev-mode/​src/​components/​ui/​Textarea.vue Removes textarea component.
frontend/​dev-mode/​src/​components/​ui/​Slider.vue Removes slider component.
frontend/​dev-mode/​src/​components/​ui/​Radio.vue Removes radio component.
frontend/​dev-mode/​src/​components/​ui/​MarkdownContent.vue Removes Markdown renderer.
frontend/​dev-mode/​src/​components/​ui/​Input.vue Removes input component.
frontend/​dev-mode/​src/​components/​ui/​CopyTextButton.vue Removes copy control.
frontend/​dev-mode/​src/​components/​ui/​CodeHighlighter.vue Removes code highlighter.
frontend/​dev-mode/​src/​components/​ui/​Checkbox.vue Removes checkbox component.
frontend/​dev-mode/​src/​components/​ui/​Button.vue Removes button component.
frontend/​dev-mode/​src/​components/​ui/​Accordion.vue Removes accordion component.
frontend/​dev-mode/​src/​components/​StatsValues.vue Removes inference statistics display.
frontend/​dev-mode/​src/​components/​SettingsModal.vue Removes model settings UI.
frontend/​dev-mode/​src/​components/​ResponseCode.vue Removes response display.
frontend/​dev-mode/​src/​components/​PromptView.vue Removes prompt workspace.
frontend/​dev-mode/​src/​components/​ParameterTooltip.vue Removes parameter tooltip.
frontend/​dev-mode/​src/​components/​LoadingState.vue Removes loading indicator.
frontend/​dev-mode/​src/​components/​InputCodeSnippets.vue Removes client snippets.
frontend/​dev-mode/​src/​components/​ChatPrompt.vue Removes chat interface.
frontend/​dev-mode/​src/​assets/​main.css Removes UI styling.
frontend/​dev-mode/​src/​App.vue Removes root frontend component.
frontend/​dev-mode/​README.md Removes frontend instructions.
frontend/​dev-mode/​public/​fonts/​atkinson-hyperlegible/​OFL.txt Removes bundled font license.
frontend/​dev-mode/​public/​favicons/​site.webmanifest Removes web manifest.
frontend/​dev-mode/​public/​favicons/​safari-pinned-tab.svg Removes Safari icon.
frontend/​dev-mode/​public/​favicons/​browserconfig.xml Removes browser tile configuration.
frontend/​dev-mode/​public/​css/​fonts.css Removes font declarations.
frontend/​dev-mode/​postcss.config.js Removes PostCSS configuration.
frontend/​dev-mode/​package.json Removes frontend package definition.
frontend/​dev-mode/​index.html Removes frontend HTML shell.
frontend/​dev-mode/​global.d.ts Removes global frontend types.
frontend/​dev-mode/​env.d.ts Removes Vite type declarations.
frontend/​dev-mode/​.nvmrc Removes frontend Node version.
frontend/​dev-mode/​.gitignore Removes frontend ignore rules.
frontend/​dev-mode/​.eslintrc.cjs Removes frontend lint configuration.
frontend/​dev-mode/​.editorconfig Removes frontend editor settings.
docs/​src/​docs/​next-steps.md Removes the Kit Dev documentation link.
docs/​src/​docs/​kitfile/​kf-overview.md Removes the review marker.
docs/​src/​docs/​deploy.md Removes local LLM deployment guidance.
CONTRIBUTING.md Removes harness generation instructions.
cmd/​root.go Unregisters the dev command.
AGENTS.md Removes dev-mode architecture and commands.
.gitignore Removes obsolete harness artifact rules.
.github/​workflows/​platform-release.yaml Removes frontend setup from macOS releases.
.github/​workflows/​build-devmode.yaml Removes the dev-mode build workflow.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/src/docs/deploy.md

**Have feedback or questions?**
Open an [issue on GitHub](https://github.com/kitops-ml/kitops/issues) or [join us on Discord](https://discord.gg/Tapeh8agYy). No newline at end of file
Open an [issue on GitHub](https://github.com/kitops-ml/kitops/issues) or [join us on Discord](https://discord.gg/Tapeh8agYy).
@gorkem
gorkem merged commit 87cabec into kitops-ml:main Sep 29, 2026
9 checks passed
@gorkem
gorkem deleted the remove-dev-command branch September 29, 2026 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants